Computer networks comprise interconnected bridges and routers which are responsible for the forwarding of frame traffic principally generated by computers at end stations. The function of each of these bridges and routers is to provide an appropriate degree of isolation between various parts of the network, which has the effect of increasing the bandwidth available to each user of the network. The level of desired isolation provided by each of these elements is related to the hierarchy level in which each element operates in the 7 layers defined by the OSI Reference Model.
A bridge (or switch) is a Layer 2 entity that is typically a computer with a plurality of ports that couple the bridge to other entities. The bridging function includes receiving data from a port and transferring that data to other ports for receipt by other entities. A bridge is able to move data frames from one port to another very fast since its decision is based only on end-station MAC address information contained in such frames. The IEEE 802.3 standard specifies a fixed location for these MAC addresses in the frame. In this manner, bridges typically utilize a series of high speed, low cost state machines for the movement of data.
Most computer networks have redundant communication paths. In general, such redundant paths in a network are desirable, as they prevent portions of the network from being isolated due to link failures. Also, multiple paths can be used simultaneously to load-balance data between the paths. However, redundant paths introduce the possibility of circuitous paths or "loops" being formed. Bridges generally make forwarding decisions based on address look-ups which are very fast and simple. The creation of a loop in a bridged network causes data frames to be continuously traversing the loop until the network saturates and also creates ambiguities in the address-table. To permit the existence of redundant communication paths but to avoid the looping problem mentioned, a method of "pruning" a network into a "tree" configuration is described in Chapter 4 of IEEE 802.1D and in Chapter 3 of the book "Interconnections: Bridges and Routers" by Radia Perlman, both of which are incorporated herein by reference. This method is called the "spanning tree protocol".